package com.wlr.study.leetcode;

/**
 * 验证二叉搜索树
 *
 * @author lrwang
 * @version 1.0
 * @date 2022/4/5 22:46
 */
public class LeetCode98 {
    long pre = Long.MIN_VALUE;

    /**
     * 中序遍历一定升序
     * 如果当前结点值小于前一个结点值一定不是二叉搜索树
     *
     * @param root
     * @return
     */
    public boolean isValidBST(TreeNode root) {
        if (root == null) {
            return true;
        }
        if (!isValidBST(root.left)) {
            return false;
        }
        if (root.val <= pre) {
            return false;
        }
        pre = root.val;
        return isValidBST(root.right);
    }

}
